Introduction

This R Markdown file will read in the multiply imputed analytic dataset and run a series of random effects models across countries predicting support for violent practices, as well as a variety of sensitivity analyses.

All figures draw from the first complete dataset constructed through multiple imputation, but models are calculated on all five mulitiply imputed datasets, with adjustments for imputation variablity.

Constructed scales

Back to top

The analysis uses several scales, detailed below. The decisions about how to construct these scales are based on the results from factoranalysis.Rmd.

Below we show the distribution of each of these constructed variables. All scores are normalized to a mean of zero and a standard deviation of one. Dotted line at zero shows the mean for each score.

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
The distribution of religiosity is heavily left-skewed. Most respondents were highly religious with a smaller tail end going all the way to the completely secular.

The distribution of religiosity is heavily left-skewed. Most respondents were highly religious with a smaller tail end going all the way to the completely secular.

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Social conservatism is also highly left-skewed.

Social conservatism is also highly left-skewed.

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
the Anti-western scale only had three possible scores. The most common is to be anti-western on both questions, although there are substantial cases at all three scores.

the Anti-western scale only had three possible scores. The most common is to be anti-western on both questions, although there are substantial cases at all three scores.

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3872 rows containing non-finite values (stat_bin).
Support for violent practices only has four possible scores. The most common is to answer no on all three questions. The score is interestingly polarized, with the most common answer being yes on all three cases o no on all three cases.

Support for violent practices only has four possible scores. The most common is to answer no on all three questions. The score is interestingly polarized, with the most common answer being yes on all three cases o no on all three cases.

Country averages

Back to top

Start by calculating the country average support for the dependent variable to get a sense of country-level variation.

Dotplot of percentage of Muslim respondents who support three different positions measuring support for violent practices. Countries are ordered from lowest to highest average level of support across all three questions.

Dotplot of percentage of Muslim respondents who support three different positions measuring support for violent practices. Countries are ordered from lowest to highest average level of support across all three questions.

Random effects models

Back to top

The random effects models are random intercept and random slope models that allow the the intercept and the slopes of certain variables to vary across countries.

Restricted models

Back to top

We begin with a model which only allows the religiosity and education slopes to vary across countries. These models are more parsimonious and are much faster computationally. They have the disadvantage of not fully controlling for the effects of other variables if those effects vary across countries.

Results from multilevel models predicting support for violent practices for violating norms among Muslims.
Model 1 Model 2 Model 3
Intercept -0.095 (0.090) -0.090 (0.088) -0.088 (0.086)
Religiosity 0.304 (0.033)*** 0.266 (0.034)*** 0.249 (0.033)***
Education quantile -0.074 (0.024)** -0.069 (0.024)** -0.062 (0.023)**
Income quantile -0.016 (0.010) -0.014 (0.010) -0.006 (0.010)
Age 25-29 0.018 (0.014) 0.017 (0.014) 0.010 (0.014)
Age 30-34 0.009 (0.015) 0.008 (0.015) -0.004 (0.015)
Age 35-39 -0.020 (0.016) -0.021 (0.016) -0.036 (0.016)*
Age 40-44 -0.027 (0.016) -0.027 (0.016) -0.049 (0.016)**
Age 45-49 -0.006 (0.018) -0.004 (0.018) -0.025 (0.018)
Age 50-54 -0.012 (0.019) -0.011 (0.019) -0.040 (0.019)*
Age 55-59 -0.025 (0.021) -0.025 (0.021) -0.051 (0.021)*
Age 60 and over 0.016 (0.019) 0.019 (0.019) -0.017 (0.019)
Female 0.003 (0.009) -0.000 (0.009) -0.006 (0.009)
Urban -0.060 (0.010)*** -0.055 (0.010)*** -0.052 (0.009)***
Shia -0.147 (0.020)*** -0.141 (0.020)*** -0.133 (0.020)***
Other denomination -0.060 (0.030)* -0.048 (0.030) -0.054 (0.030)
Just a Muslim -0.095 (0.012)*** -0.089 (0.012)*** -0.086 (0.012)***
Sufi 0.074 (0.014)*** 0.076 (0.013)*** 0.073 (0.014)***
Necessary to believe in god to be moral 0.044 (0.012)*** 0.037 (0.012)**
Islam is the one true faith 0.155 (0.013)*** 0.148 (0.013)***
One way to interpret relig. teachings 0.021 (0.010)* 0.020 (0.010)*
Religion in conflict with modernity 0.074 (0.010)***
Anti-Westernization scale 0.119 (0.009)***
Prefers strong leader to democracy 0.018 (0.010)
Socially conservative scale -0.018 (0.009)
N (individual) 31528 31528 31528
N (country) 35 35 35
BIC 72642 72480 72311
SD (religiosity) 0.172 0.174 0.167
SD (education quantile) 0.128 0.126 0.123
r(intercept, religiosity) 0.353 0.435 0.471
r(intercept, education) 0.290 0.250 0.272
r(religiosity, education) 0.090 0.064 0.072
p < 0.001; p < 0.01; p < 0.05 Notes: All models include random country-level intercepts and slopes for religiosity and education. All quantitative variables are divided by twice their standard deviation for comparability. Results are based on five complete datasets with imputation for missing values.}
ggplot(country_effects, aes(x=intercept, y=religiosity))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="intercept in country", y="religiosity slope in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=intercept, y=educqq_scl))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="intercept in country", y="education slope in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=religiosity, y=educqq_scl))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="religiosity slope in country", y="education slope in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

Allowing more random slopes

Back to top

Lets now consider allowing other slopes to vary. Its computationally impossible to allow everything to vary, but after experimentation we fit the fullest model that we felt was theoretically justified. For the demographic variables, we wanted to allow income and urbanicity to vary because of strong relationships between these variables and education. We also wanted to allow all the variables on theological conservatism and other attitudes to vary. However, we found that the models ran into problems with singular results when including the variables on Islam being the one true faith and the social conservatism scale, so we removed these from the results (check that on all analytical data). We do not allow age, gender, and denomination to vary. Denomination is heavily dependent on country and would therefore would almost certainly run into computational problems. Age had very small effects and general and the number of dummies presented problems, and gender we do not expect to see have strong correlations with our key variables.

Results from multilevel models predicting support for violent practices for violating norms among Muslims.
Restricted Full
Intercept -0.088 (0.086) -0.081 (0.084)
Religiosity 0.249 (0.033)*** 0.226 (0.026)***
Education quantile -0.062 (0.023)** -0.054 (0.021)*
Income quantile -0.006 (0.010) -0.023 (0.025)
Age 25-29 0.010 (0.014) 0.012 (0.014)
Age 30-34 -0.004 (0.015) -0.000 (0.015)
Age 35-39 -0.036 (0.016)* -0.036 (0.016)*
Age 40-44 -0.049 (0.016)** -0.042 (0.016)**
Age 45-49 -0.025 (0.018) -0.024 (0.017)
Age 50-54 -0.040 (0.019)* -0.037 (0.018)*
Age 55-59 -0.051 (0.021)* -0.044 (0.020)*
Age 60 and over -0.017 (0.019) -0.013 (0.019)
Female -0.006 (0.009) -0.006 (0.009)
Urban -0.052 (0.009)*** -0.036 (0.021)
Shia -0.133 (0.020)*** -0.122 (0.020)***
Other denomination -0.054 (0.030) -0.052 (0.029)
Just a Muslim -0.086 (0.012)*** -0.094 (0.012)***
Sufi 0.073 (0.014)*** 0.069 (0.013)***
Necessary to believe in god to be moral 0.037 (0.012)** 0.033 (0.026)
Islam is the one true faith 0.148 (0.013)*** 0.160 (0.012)***
One way to interpret relig. teachings 0.020 (0.010)* -0.002 (0.024)
Religion in conflict with modernity 0.074 (0.010)*** 0.067 (0.025)**
Anti-Westernization scale 0.119 (0.009)*** 0.140 (0.023)***
Prefers strong leader to democracy 0.018 (0.010) 0.050 (0.030)
Socially conservative scale -0.018 (0.009) -0.016 (0.009)
N (individual) 31528 31528
N (country) 35 35
BIC 72311 71863
SD (religiosity) 0.167 0.130
SD (education quantile) 0.123 0.108
r(intercept, religiosity) 0.471 0.453
r(intercept, education) 0.272 0.274
r(religiosity, education) 0.072 0.037
p < 0.001; p < 0.01; p < 0.05 Notes: All models include random country-level intercepts and slopes for some variables. All quantitative variables are divided by twice their standard deviation for comparability. Results are based on five complete datasets with imputation for missing values.}
ggplot(country_effects, aes(x=intercept, y=intercept_full))+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="intercept, restricted model", y="intercept, full model")+
  theme_bw()

ggplot(country_effects, aes(x=religiosity, y=religiosity_full))+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="religiosity slope, restricted model", 
       y="religiosity slope, full model")+
  theme_bw()

ggplot(country_effects, aes(x=educqq_scl, y=educqq_scl_full))+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="education slope, restricted model", 
       y="education slope, full model")+
  theme_bw()

ggplot(country_effects, aes(x=intercept_full, y=religiosity_full))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="intercept in country", y="religiosity slope (full) in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=intercept_full, y=educqq_scl_full))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="intercept in country", y="education slope (full) in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=religiosity_full, y=educqq_scl_full))+
  geom_hline(yintercept=0, linetype=2)+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="religiosity slope (full) in country", y="education slope (full) in country")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

Country-level effects

Results from multilevel models predicting support for violent practices for violating norms among Muslims.
Model 1 Model 2 Model 3
Intercept -0.088 (0.086) -0.085 (0.086) -0.084 (0.085)
Religiosity 0.249 (0.033)*** 0.239 (0.033)*** 0.237 (0.033)***
Education quantile -0.062 (0.023)** -0.064 (0.023)** -0.067 (0.022)**
Income quantile -0.006 (0.010) -0.005 (0.010) -0.006 (0.010)
Age 25-29 0.010 (0.014) 0.011 (0.014) 0.010 (0.014)
Age 30-34 -0.004 (0.015) -0.004 (0.015) -0.004 (0.015)
Age 35-39 -0.036 (0.016)* -0.036 (0.016)* -0.036 (0.016)*
Age 40-44 -0.049 (0.016)** -0.049 (0.016)** -0.049 (0.016)**
Age 45-49 -0.025 (0.018) -0.025 (0.018) -0.025 (0.018)
Age 50-54 -0.040 (0.019)* -0.040 (0.019)* -0.040 (0.019)*
Age 55-59 -0.051 (0.021)* -0.051 (0.021)* -0.051 (0.021)*
Age 60 and over -0.017 (0.019) -0.016 (0.019) -0.016 (0.019)
Female -0.006 (0.009) -0.006 (0.009) -0.006 (0.009)
Urban -0.052 (0.009)*** -0.052 (0.009)*** -0.052 (0.009)***
Shia -0.133 (0.020)*** -0.132 (0.020)*** -0.132 (0.020)***
Other denomination -0.054 (0.030) -0.055 (0.030) -0.055 (0.030)
Just a Muslim -0.086 (0.012)*** -0.086 (0.012)*** -0.086 (0.012)***
Sufi 0.073 (0.014)*** 0.072 (0.014)*** 0.072 (0.014)***
Necessary to believe in god to be moral 0.037 (0.012)** 0.037 (0.012)** 0.037 (0.012)**
Islam is the one true faith 0.148 (0.013)*** 0.148 (0.013)*** 0.148 (0.013)***
One way to interpret relig. teachings 0.020 (0.010)* 0.020 (0.010)* 0.020 (0.010)*
Religion in conflict with modernity 0.074 (0.010)*** 0.074 (0.010)*** 0.074 (0.010)***
Anti-Westernization scale 0.119 (0.009)*** 0.119 (0.009)*** 0.119 (0.009)***
Prefers strong leader to democracy 0.018 (0.010) 0.018 (0.010) 0.017 (0.010)
Socially conservative scale -0.018 (0.009) -0.018 (0.009)* -0.018 (0.009)
Human development index -0.417 (0.142)** -0.245 (0.172)
HDI x religiosity 0.036 (0.067)
HDI x education quantile 0.095 (0.044)*
N (individual) 31528 31528 31528
N (country) 35 35 35
BIC 72311 72317 72341
SD (religiosity) 0.167 0.167 0.170
SD (education quantile) 0.123 0.122 0.115
r(intercept, religiosity) 0.471 0.541 0.542
r(intercept, education) 0.272 0.439 0.433
r(religiosity, education) 0.072 0.054 0.027
p < 0.001; p < 0.01; p < 0.05 Notes: All models include random country-level intercepts and slopes for some variables. All quantitative variables are divided by twice their standard deviation for comparability. Results are based on five complete datasets with imputation for missing values.}

Interesting effects on education, lets look at that graphically

temp <- subset(analytic_samples[[1]], !duplicated(country),
               select=c("country","hdi"))
country_effects <- merge(country_effects, temp)
ggplot(country_effects, aes(x=hdi, y=educqq_scl))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

It seems true, but also largely dependent on region. Large group of African countries at the lower end, and MENA at the higher end.

ggplot(country_effects, aes(x=hdi, y=intercept))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

Alternate measures

Back to top

Alternative religiosity measures

Back to top

I want to look closely at the components of the religiosity scale. For each outcome I will run three different models:

  1. A model which treats the three polytmous variables as three separate continuous variables. This is more parsimonious but creates no composite religiosity measure.
  2. A model which treats the first two components (prayer, relig_important) as a single scale, and attendance as a separate scale
Results from multilevel models predicting support for violent practices for violating norms among Muslims.
Model 1 Model 2 Model 3
Intercept -0.088 (0.086) -0.097 (0.085) -0.091 (0.086)
Religiosity 0.249 (0.033)***
Education quantile -0.062 (0.023)** -0.061 (0.022)** -0.063 (0.023)**
Income quantile -0.006 (0.010) -0.010 (0.010) -0.007 (0.010)
Age 25-29 0.010 (0.014) 0.007 (0.014) 0.011 (0.014)
Age 30-34 -0.004 (0.015) -0.006 (0.015) -0.003 (0.015)
Age 35-39 -0.036 (0.016)* -0.040 (0.016)* -0.037 (0.016)*
Age 40-44 -0.049 (0.016)** -0.050 (0.016)** -0.048 (0.016)**
Age 45-49 -0.025 (0.018) -0.029 (0.018) -0.025 (0.018)
Age 50-54 -0.040 (0.019)* -0.041 (0.019)* -0.038 (0.019)*
Age 55-59 -0.051 (0.021)* -0.055 (0.020)** -0.049 (0.021)*
Age 60 and over -0.017 (0.019) -0.019 (0.019) -0.016 (0.019)
Female -0.006 (0.009) -0.009 (0.010) -0.008 (0.010)
Urban -0.052 (0.009)*** -0.050 (0.009)*** -0.051 (0.009)***
Shia -0.133 (0.020)*** -0.131 (0.020)*** -0.131 (0.020)***
Other denomination -0.054 (0.030) -0.051 (0.030) -0.050 (0.030)
Just a Muslim -0.086 (0.012)*** -0.087 (0.012)*** -0.085 (0.012)***
Sufi 0.073 (0.014)*** 0.067 (0.014)*** 0.073 (0.014)***
Necessary to believe in god to be moral 0.037 (0.012)** 0.037 (0.012)** 0.038 (0.012)**
Islam is the one true faith 0.148 (0.013)*** 0.145 (0.013)*** 0.148 (0.013)***
One way to interpret relig. teachings 0.020 (0.010)* 0.015 (0.010) 0.019 (0.010)
Religion in conflict with modernity 0.074 (0.010)*** 0.076 (0.010)*** 0.074 (0.010)***
Anti-Westernization scale 0.119 (0.009)*** 0.122 (0.009)*** 0.121 (0.010)***
Prefers strong leader to democracy 0.018 (0.010) 0.018 (0.010) 0.018 (0.010)
Socially conservative scale -0.018 (0.009) -0.017 (0.009) -0.018 (0.009)
Mosque attendance scale 0.113 (0.022)*** 0.111 (0.020)***
Religion important scale 0.090 (0.032)**
Prayer frequency scale 0.161 (0.034)***
Prayer and religion important scale 0.196 (0.035)***
N (individual) 31528 31528 31528
N (country) 35 35 35
BIC 72311 72175 72303
p < 0.001; p < 0.01; p < 0.05 Notes: All models include random country-level intercepts and slopes for religiosity measures and education. All quantitative variables are divided by twice their standard deviation for comparability. Results are based on five complete datasets with imputation for missing values.}
round(results_relig_sep$ranef_cor, 3)
##                       (Intercept) attend.scale relig_important.scale
## (Intercept)                 1.000       -0.274                 0.140
## attend.scale               -0.274        1.000                 0.021
## relig_important.scale       0.140        0.021                 1.000
## prayer.scale                0.605       -0.340                -0.219
## educqq_scl                  0.284       -0.592                -0.480
##                       prayer.scale educqq_scl
## (Intercept)                  0.605      0.284
## attend.scale                -0.340     -0.592
## relig_important.scale       -0.219     -0.480
## prayer.scale                 1.000      0.739
## educqq_scl                   0.739      1.000
temp <- as_tibble(results_relig_sep$country_effects)
colnames(temp)[1] <- "intercept"
temp <- subset(temp, select=c("intercept","attend.scale","relig_important.scale",
                              "prayer.scale","educqq_scl"))
colnames(temp) <- c("intercept.relig_sep","attend.scale","relig_important.scale",
                    "prayer.scale","educqq_scl.relig_sep")
country_effects <- cbind(country_effects, temp)
ggplot(country_effects, aes(x=attend.scale, y=religiosity))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="attendance scale","combined religiosity scale")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=prayer.scale, y=religiosity))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="prayer scale","combined religiosity scale")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=relig_important.scale, y=religiosity))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="religion important scale","combined religiosity scale")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=intercept.relig_sep, y=attend.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="average support in country", y="attendance scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=intercept.relig_sep, y=prayer.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="average support in country", y="prayer scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=intercept.relig_sep, y=relig_important.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="average support in country", y="religion important scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=educqq_scl.relig_sep, y=relig_important.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="educational effect", y="religion important scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=educqq_scl.relig_sep, y=attend.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="educational effect", y="attendance scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

ggplot(country_effects, aes(x=educqq_scl.relig_sep, y=prayer.scale))+
  geom_point()+
  geom_smooth(method="lm", se=FALSE)+
  geom_text_repel(aes(label=country))+
  labs(x="educational effect", y="prayer scale effect")+
  theme_bw()
## `geom_smooth()` using formula 'y ~ x'

Alternative education measures

Results from multilevel models predicting support for violent practices for violating norms among Muslims.
Model 1 Model 2 Model 3
Intercept -0.098 (0.089) -0.094 (0.087) -0.092 (0.086)
Religiosity 0.305 (0.033)*** 0.267 (0.033)*** 0.250 (0.032)***
Secondary -0.071 (0.023)** -0.069 (0.023)** -0.064 (0.022)**
Post-Secondary -0.084 (0.034)* -0.077 (0.034)* -0.069 (0.033)*
Income quantile -0.016 (0.010) -0.014 (0.010) -0.005 (0.010)
Age 25-29 0.015 (0.014) 0.014 (0.014) 0.008 (0.014)
Age 30-34 0.006 (0.015) 0.005 (0.015) -0.007 (0.015)
Age 35-39 -0.024 (0.016) -0.024 (0.016) -0.040 (0.016)*
Age 40-44 -0.032 (0.016) -0.032 (0.016) -0.054 (0.016)***
Age 45-49 -0.010 (0.018) -0.008 (0.018) -0.029 (0.018)
Age 50-54 -0.020 (0.019) -0.019 (0.019) -0.048 (0.019)*
Age 55-59 -0.031 (0.021) -0.032 (0.021) -0.058 (0.021)**
Age 60 and over 0.014 (0.019) 0.016 (0.019) -0.020 (0.019)
Female 0.004 (0.009) 0.000 (0.009) -0.005 (0.009)
Urban -0.062 (0.010)*** -0.057 (0.010)*** -0.054 (0.009)***
Shia -0.147 (0.020)*** -0.141 (0.020)*** -0.132 (0.020)***
Other denomination -0.062 (0.030)* -0.049 (0.030) -0.056 (0.030)
Just a Muslim -0.095 (0.012)*** -0.089 (0.012)*** -0.086 (0.012)***
Sufi 0.074 (0.014)*** 0.076 (0.013)*** 0.073 (0.014)***
Necessary to believe in god to be moral 0.045 (0.012)*** 0.038 (0.012)**
Islam is the one true faith 0.156 (0.013)*** 0.148 (0.013)***
One way to interpret relig. teachings 0.022 (0.010)* 0.021 (0.010)*
Religion in conflict with modernity 0.074 (0.010)***
Anti-Westernization scale 0.119 (0.009)***
Prefers strong leader to democracy 0.018 (0.010)
Socially conservative scale -0.019 (0.009)*
N (individual) 31528 31528 31528
N (country) 35 35 35
BIC 72687 72522 72353
SD (religiosity) 0.169 0.171 0.164
SD (secondary) 0.114 0.113 0.109
SD (post-secondary) 0.173 0.171 0.169
r(intercept, religiosity) 0.361 0.447 0.482
r(intercept, secondary) 0.112 0.071 0.077
r(intercept, post-secondary) 0.229 0.183 0.209
r(religiosity, secondary) -0.069 -0.123 -0.132
r(religiosity, post-secondary) 0.053 0.026 0.031
r(secondary, post-secondary) 0.755 0.767 0.760
p < 0.001; p < 0.01; p < 0.05 Notes: All models include random country-level intercepts and slopes for religiosity and education. All quantitative variables are divided by twice their standard deviation for comparability. Results are based on five complete datasets with imputation for missing values.}
temp <- as_tibble(results_attitudes_educ_lvl$country_effects)
colnames(temp)[1] <- "intercept"
temp$country <- rownames(results_attitudes_educ_lvl$country_effects)
temp <- subset(temp, select=c("Secondary","Post_Secondary"))
country_effects <- cbind(country_effects, temp)
ggplot(country_effects, aes(x=Secondary, y=Post_Secondary))+
  geom_hline(yintercept=0, linetype=2)+
  geom_vline(xintercept=0, linetype=2)+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="secondary education slope", y="post-secondary education slope")+
  theme_bw()

ggplot(country_effects, aes(x=educqq_scl, y=Secondary))+
  geom_hline(yintercept=0, linetype=2)+
  geom_vline(xintercept=0, linetype=2)+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="education quantile slope", y="secondary education slope")+
  theme_bw()

ggplot(country_effects, aes(x=educqq_scl, y=Post_Secondary))+
  geom_hline(yintercept=0, linetype=2)+
  geom_vline(xintercept=0, linetype=2)+
  geom_abline(slope=1, color="grey")+
  geom_point()+
  geom_text_repel(aes(label=country))+
  labs(x="education quantile slope", y="post-secondary education slope")+
  theme_bw()